package com.example.thm.adapter;

import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.thm.entitys.generated.Transaktion;
import com.example.thm.haushaltsbuch.R;

/** Adapter zur Ausgabe von Einnahmen in der entsprechenden ListView
 * @author Darius
 */

public class EinnahmenAdapter extends BaseAdapter {

	private Context context;
	ArrayList<Transaktion> liste;
	public EinnahmenAdapter(Context context, ArrayList<Transaktion> liste) {
		this.context = context;
		this.liste = liste;
	}

	
	public int getCount() {
		return liste.size();
	}

	public Object getItem(int arg0) {
		return liste.get(arg0);
	}

	public long getItemId(int position) {
		return position;
	}

	/**
	 * Individuelle Ausgabe des Listeneintrags wird festgelegt
	 * 
	 * @param int position, View convertView, ViewGroup parent
	 * @return  View result;
	 * @author Darius Nowak
	 */
	
	public View getView(int position, View convertView, ViewGroup parent) {
		View result = convertView;
//		if (result == null){
			Transaktion transaktion = liste.get(position);
			LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
			result = inflater.inflate(R.layout.suchlisteneintrageinnahmelayout, null);
			
			TextView beschreibung = (TextView)result.findViewById(R.id.textView_beschreibungEinnahmeInSuchergebnis);
			beschreibung.setText(transaktion.getBezeichnung());
			
			TextView untertitel = (TextView)result.findViewById(R.id.textView_DatumEinnahmeInSuchergebnis);
			DateFormat df = new SimpleDateFormat("dd.MM.yyyy");
			untertitel.setText(df.format(transaktion.getDatum()));
			
			TextView betrag = (TextView)result.findViewById(R.id.textView_betragEinnahmeInSuchergebnis);
			DecimalFormat f = new DecimalFormat("#0.00"); 
			betrag.setText(transaktion.getVorzeichen() + f.format(transaktion.getBetrag()).replace('.',  ',') +" "+ transaktion.getBuch().getWaehrung().getSymbol());		
//		}	
		return result;
	}

}
